System and method for acquiring a training matrix for a breamforming acquisition protocol using a butson matrix

ABSTRACT

A method and system for obtaining and transfer matrix and or acquiring beamforming vectors using a Butson matrix is disclosed. In one embodiment, the method includes i) determining the number (N) of transmitter antennas, ii) obtaining a unitary matrix having M rows and M columns, wherein M is an greater than or equal to N, and wherein the elements of the matrix are selected from the group consisting of: +1, −1, +j, and −j, iii) selecting N rows of the unitary matrix and iv) generating a training matrix having N rows and M columns based on the selected N rows. The method may further include obtaining a source beamforming vector using the training matrix.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit under 35 U.S.C. 119(e) of U.S. Provisional Application No. 60/955,614, filed on Aug. 13, 2007, which is incorporated by reference in its entirety.

This application also relates to U.S. patent application Ser. No. 11/864,707, filed on Sep. 28, 2007, entitled “System and Method for Wireless Communication of Uncompressed High Definition Video Data Using a Beamforming Acquisition Protocol” and U.S. patent application Ser. No. 11/864,721, filed on Sep. 28, 2007, entitled “System and Method for Wireless Communication of Uncompressed High Definition Video Data Using a Transfer Matrix for Beamforming Estimation,” which are herein incorporated by reference in their entirety. This application also relates to U.S. patent application (Attorney Docket Number: SAMINF.125A) entitled “System and Method for Acquiring Beamforming Vectors Using Training Sequences with Adaptive Spreading Gains,” which is concurrently filed with this application and is incorporated herein by reference.

BACKGROUND

1. Field

The present invention relates to acquiring beamforming vectors, and in particular, to acquiring beamforming vectors for high-speed wireless data and video communications using antenna arrays at both transmitter and receiver.

2. Description of the Related Technology

With the proliferation of high quality video, an increasing number of electronic devices, such as consumer electronic devices, utilize high definition (HD) video which can require about 1 Gbps (gigabits per second) in bandwidth for transmission. As such, when transmitting such HD video between devices, conventional transmission approaches compress the HD video to a fraction of its size to lower the required transmission bandwidth. The compressed video is then decompressed for consumption. However, with each compression and subsequent decompression of the video data, some data can be lost and the picture quality can be reduced.

The High-Definition Multimedia Interface (HDMI) specification allows transfer of uncompressed HD signals between devices via a cable. While consumer electronics makers are beginning to offer HDMI-compatible equipment, there is not yet a suitable wireless (e.g., radio frequency) technology that is capable of transmitting uncompressed HD video signals. Wireless local area network (WLAN) and similar technologies can suffer interference issues when several devices, which do not have the bandwidth to carry the uncompressed HD signals, are connected together.

SUMMARY OF CERTAIN INVENTIVE ASPECTS

One aspect of the invention is a method of obtaining a training matrix for a beamforming acquisition protocol, the method comprising determining the number (N) of transmitter antennas, obtaining a unitary matrix having M rows and M columns, wherein M is an even number and is greater than N, and wherein the elements of the matrix comprise both real and imaginary components, selecting N rows of the unitary matrix and generating a training matrix having N rows and M columns based on the selected N rows.

Another aspect of the invention is a system for obtaining a training matrix for a beamforming acquisition protocol, the system comprising at least one transceiver, a memory, and a processor, being in data or signal communication with the at least one transceiver and the memory, configured to i) determine the number (N) of transmitter antennas, ii) obtain a unitary matrix having M rows and M columns, wherein M is an even number and is greater than or equal to N, and wherein the elements of the matrix comprise both real and imaginary components, iii) select N rows of the unitary matrix, and iv) generate a training matrix having N rows and M columns based on the selected N rows.

Another aspect of the invention is a method of obtaining a training matrix for a beamforming acquisition protocol, the method comprising determining the number (N) of transmitter antennas, obtaining a unitary matrix having M rows and M columns, wherein M is an greater than or equal to N, and wherein the elements of the matrix are selected from the group consisting of: +1, −1, +j, and −j, selecting N rows of the unitary matrix and generating a training matrix having N rows and M columns based on the selected N rows.

Another aspect of the invention is a system for obtaining a training matrix for a beamforming acquisition protocol, the system comprising at least one transceiver, a memory, and a processor, being in data or signal communication with the at least one transceiver and the memory, configured to i) determine the number (N) of transmitter antennas, ii) obtain a unitary matrix having M rows and M columns, wherein M is greater than or equal to N, and wherein the elements of the matrix are selected from the group consisting of: +1, −1, +j, and −j, iii) select N rows of the unitary matrix, and iv) generate a training matrix having N rows and M columns based on the selected N rows.

Yet another aspect of the invention is a system for obtaining a training matrix for a beamforming acquisition protocol, the system comprising means for determining the number (N) of transmitter antennas, means for obtaining a unitary matrix having M rows and M columns, wherein M is an greater than or equal to N, and wherein the elements of the matrix are selected from the group consisting of: +1, −1, +j, and −j, means for selecting N rows of the unitary matrix and means for generating a training matrix having N rows and M columns based on the selected N rows.

Yet another aspect of the invention is one or more processor-readable storage devices having processor-readable code, the processor-readable code for programming one or more processors to perform a method of obtaining a source beamforming vector for transmission of a data signal over a wireless communications channel, the method comprising determining the number (N) of transmitter antennas, obtaining a unitary matrix having M rows and M columns, wherein M is an greater than or equal to N, and wherein the elements of the matrix are selected from the group consisting of: +1, −1, +j, and −j, selecting N rows of the unitary matrix and generating a training matrix having N rows and M columns based on the selected N rows.

Still another aspect of the invention is a method of obtaining a training matrix for a beamforming acquisition protocol, the method comprising generating a training matrix based on at least a portion of a unitary matrix, wherein the elements of the unitary matrix are selected from the group consisting of: +1, −1, +j, and −j.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a functional block diagram of a wireless network that implements uncompressed HD video transmission between wireless devices according to one embodiment of the invention.

FIG. 2 is a functional block diagram of an example communication system for transmission of uncompressed HD video over a wireless communications channel, according to one embodiment of the invention.

FIG. 3 is a diagram demonstrating an exemplary beamforming scheme of a wireless HD video communication system according to one embodiment of the invention.

FIG. 4 is a block diagram illustrating the transmitter and receiver of a wireless HD video communication system according to one embodiment of the invention.

FIG. 5 a is a flowchart which shows an exemplary iterative beamforming acquisition procedure according to one embodiment of the invention.

FIG. 5 b is a flowchart which shows an exemplary iterative beamforming acquisition procedure according to another embodiment of the invention.

FIG. 6 is a diagram demonstrating the typical convergence behavior of signal-to-noise ratio as a function of iteration in an iterative beamforming acquisition procedure.

FIG. 7 a is a flowchart which shows an exemplary iterative beamforming acquisition procedure from the point-of-view of a source of data.

FIG. 7 b is a flowchart which shows an exemplary iterative beamforming acquisition procedure from the point-of-view of a destination of data.

FIG. 8 is a collection of exemplary matrices, where 2/pi*log(B) is displayed element by element, where B is a Butson matrix whose elements take the values +1, −1, +j, and −j.

FIG. 9 is a flowchart which shows a method of obtaining a training matrix.

DETAILED DESCRIPTION OF CERTAIN INVENTIVE EMBODIMENTS System Overview

Example implementations of the embodiments in a wireless high definition (HD) audio/video (A/V) system will now be described. FIG. 1 shows a functional block diagram of a wireless network 100 that implements uncompressed HD video transmission between A/V devices such as an A/V device coordinator and A/V stations, according to certain embodiments. In other embodiments, one or more of the devices can be a computer, such as a personal computer (PC). The network 100 includes a device coordinator 112 and multiple A/V stations 114 (e.g., Device 1, Device 2, . . . , Device N). The A/V stations 114 utilize a low-rate (LR) wireless channel 116 (dashed lines in FIG. 1), and may use a high-rate (HR) channel 118 (heavy solid lines in FIG. 1), for communication between any of the devices. The device coordinator 112 uses a low-rate channel 116 and a high-rate wireless channel 118, for communication with the stations 114.

Each station 114 uses the low-rate channel 116 for communications with other stations 114. The high-rate channel 118 supports single direction unicast transmission over directional beams established by beamforming, with e.g., multi-giga bps bandwidth, to support uncompressed HD video transmission. For example, a set-top box can transmit uncompressed video to a HD television (HDTV) over the high-rate channel 118. The low-rate channel 116 can support bi-directional transmission, e.g., with up to 40 Mbps throughput in certain embodiments. The low-rate channel 116 is mainly used to transmit control frames such as acknowledgement (ACK) frames. For example, the low-rate channel 116 can transmit an acknowledgement from the HDTV to the set-top box. It is also possible that some low-rate data like audio and compressed video can be transmitted on the low-rate channel between two devices directly. Time division duplexing (TDD) is applied to the high-rate and low-rate channel. At any one time, the low-rate and high-rate channels cannot be used in parallel for transmission, in certain embodiments. Beamforming technology can be used in both low-rate and high-rate channels. The low-rate channels can also support omni-directional transmissions.

In one example, the device coordinator 112 is a receiver of video information (hereinafter “receiver 112”), and the station 114 is a sender of the video information (hereinafter “sender 114”). For example, the receiver 112 can be a sink of video and/or audio data implemented, such as, in an HDTV set in a home wireless network environment which is a type of WLAN. In another embodiment, the receiver 112 may be a projector. The sender 114 can be a source of uncompressed video or audio. Examples of the sender 114 include a set-top box, a DVD player or recorder, digital camera, camcorder, other computing device (e.g., laptop, desktop, PDA, etc.) and so forth.

FIG. 2 illustrates a functional block diagram of an example communication system 200. The system 200 includes a wireless transmitter 202 and wireless receiver 204. The transmitter 202 includes a physical (PHY) layer 206, a media access control (MAC) layer 208 and an application layer 210. Similarly, the receiver 204 includes a PHY layer 214, a MAC layer 216, and an application layer 218. The PHY layers provide wireless communication between the transmitter 202 and the receiver 204 via one or more antennas through a wireless communications channel 201.

The application layer 210 of the transmitter 202 includes an A/V pre-processing module 211 and an audio video control (AV/C) module 212. The A/V pre-processing module 211 can perform pre-processing of the audio/video such as partitioning of uncompressed video. The AV/C module 212 provides a standard way to exchange A/V capability information. Before a connection begins, the AV/C module negotiates the A/V formats to be used, and when the need for the connection is completed, AV/C commands are used to stop the connection.

In the transmitter 202, the PHY layer 206 includes a low-rate (LR) channel 203 and a high rate (HR) channel 205 that are used to communicate with the MAC layer 208 and with a radio frequency (RF) module 207. In certain embodiments, the MAC layer 208 can include a packetization module (not shown). The PHY/MAC layers of the transmitter 202 add PHY and MAC headers to packets and transmit the packets to the receiver 204 over the wireless channel 201.

In the wireless receiver 204, the PHY/MAC layers 214, 216 process the received packets. The PHY layer 214 includes a RF module 213 connected to the one or more antennas. A LR channel 215 and a HR channel 217 are used to communicate with the MAC layer 216 and with the RF module 213. The application layer 218 of the receiver 204 includes an A/V post-processing module 219 and an AV/C module 220. The module 219 can perform an inverse processing method of the module 211 to regenerate the uncompressed video, for example. The AV/C module 220 operates in a complementary way with the AV/C module 212 of the transmitter 202.

General Beamforming

Transmit and/or receive beamforming has the potential of improving link quality substantially in wireless communications. For typical multiple-input/multiple-output (MIMO) systems, transmit and/or receiver beamforming are implemented in the digital domain, before a digital-to-analog conversion (DAC) operation at a transmitter side and after an analog-to-digital conversion (ADC) operation at a receiver side. The good performance of digitally beamformed systems comes at a cost of N|M RF chains, where N is the number of transmitter antennas and M is the number of receiver antennas. The cost may become formidable, especially when the sampling frequency increases. When cost-effectiveness becomes a dominant system design issue, analog beamforming is more favorable, as it generally requires only one RF chain.

Analog beamforming for MIMO orthogonal frequency division multiplex (OFDM) systems will be mainly described, while the same scheme can be applied to MIMO single carrier modulated systems as well. Suppose that K is the number of sub-carriers for OFDM modulation, N is the number of transmitter antennas, and M is the number of receiver antennas. Also, it is assumed that the transmit beamforming vector (hereinafter will be interchangeably referred to as “source beamforming vector”) is w^(ρ)=[w₁, w₂, . . . , w_(N)]^(T) and the receive beamforming vector (hereinafter will be interchangeably referred to as “destination beamforming vector”) is ν^(ρ)=[ν₁, ν₂, . . . , ν_(N)]^(T). Also, let L+1 be the maximum number of multipath channel taps for each pair of transmit and receive antennas. Without loss of generality, it is reasonable to have K>>L+1 (i.e., the number of OFDM sub-carriers is much greater than the maximum number of multipath channel taps between any pair of transmitter and receiver antennas). Further, let h^(ρ) _(ij)=[h_(ij) (0) h_(ij) (1) h_(ij) (2) Λ h_(ij) 0 (L) 0 Λ 0]^(T) be the multipath channel impulse response between the ith receive and jth transmit antenna, appended with zeros such that each vector h^(ρ) _(ij) of size K×1. There are altogether M×N such channel vectors, with each one corresponding to one transmit and receive antenna pair. Let S=diag(s₁,s₂, . . . ,s_(K)) be a diagonal matrix containing all the K data sub-carriers in an OFDM system. Thus, the transmitted vector (over an OFDM symbol duration) on a jth transmitter antenna after beamforming is [w_(j)s₁,w_(j)s₂, . . . ,w_(j)s_(K)], for j=1, 2, . . . , N. Because OFDM modulation diagonalizes the multipath channel, the received vector (over an OFDM symbol duration) on the ith receive antenna can be written as

${\overset{\varpi}{y_{i}} = {\sum\limits_{j = 1}^{N}\; {w_{j}S\; {\overset{\rho}{c}}_{ij}}}},$

where c^(ρ) _(ij)=F_(K)h^(ρ) _(ij) is the frequency channel response corresponding to the time-domain channel h^(ρ) _(ij), w_(j) is the jth transmit beamforming coefficient, and F_(K) is a K×K Fourier transform matrix.

At the receiver side, the received vectors y^(ρ) _(i) across all M receiver antennas will be combined by receive beamforming vectors ν^(ρ)=[ν₁,ν₂, . . . ,ν_(N)]^(T), where ν_(i) is the ith receive beamforming coefficient. For this reason, the combined signal vector can be written as

$\begin{matrix} {\overset{\rho}{z} = {{\sum\limits_{i = 1}^{M}\; {v_{i}{\overset{\rho}{y}}_{i}}} = {{\sum\limits_{i = 1}^{M}\; {v_{i}{\sum\limits_{j = 1}^{N}\; {w_{j}S\; {\overset{\rho}{c}}_{ij}}}}} = {S{\sum\limits_{i = 1}^{M}\; {v_{i}{\sum\limits_{j = 1}^{N}\; {w_{j}{\overset{\rho}{c}}_{ij}}}}}}}}} \\ {\overset{\rho}{z} = {S{\sum\limits_{i = 1}^{M}\; {v_{i}A_{i}\overset{\rho}{w}}}}} \\ {\overset{\rho}{z} = {{SA}\overset{\rho}{v}}} \end{matrix}$

where the K×N matrix A_(i) is defined as A_(i)=└c^(ρ) _(i1),c^(ρ) _(i2,)Λ,c^(ρ) _(iN)┘, and the K×N matrix A is defined as

$A = {\sum\limits_{i = 1}^{M}\; {v_{i}{A_{i}.}}}$

Similarly, the received signal vector can be written as

$\begin{matrix} {\overset{\rho}{z} = {S{\sum\limits_{j = 1}^{N}\; {w_{j}{\sum\limits_{i = 1}^{M}\; {v_{i}{\overset{\rho}{c}}_{ij}}}}}}} \\ {\overset{\rho}{z} = {S{\sum\limits_{j = 1}^{N}\; {w_{j}B_{j}\overset{\rho}{v}}}}} \\ {\overset{\rho}{z} = {{SB}\overset{\rho}{w}}} \end{matrix}$

where the K×M matrix B_(j) is defined as B_(j)=└c^(ρ) _(1j),c^(ρ) _(2j,)Λ,c^(ρ) _(Mj)┘, and the K×M matrix B is defined as

$B = {\sum\limits_{j = 1}^{N}\; {w_{j}{B_{j}.}}}$

To optimize the transmit and receive beamforming vectors, one embodiment of the invention finds the transmit and receive beamforming vectors that jointly minimize the pairwise error probability (PEP) between two arbitrary information codes. To obtain the above, one embodiment of the invention solves the following two problems simultaneously:

maximize ν^(ρ) ^(II) B^(II) Bν^(ρ)

subject to ∥ν^(ρ)∥=1

and

maximize w^(ρ) ^(H) A^(H) Aw^(ρ)

subject to ∥w^(ρ)∥=1.

It is noticed that the matrix A is dependent upon vector ν^(w), while the matrix B is dependent upon vector ν^(w). For this reason, the above two problems cannot be solved easily.

FIG. 3 is a diagram demonstrating an exemplary beamforming scheme of a wireless HD video communication system, as applied to an MIMO OFDM system. The FIG. 3 scheme can also be applied for non-OFDM modulated schemes, such as single carrier modulated systems. In one embodiment, the system 300 is for the implementation of analog beamforming. The system 300 includes a transmitter 310 and a receiver 320. The transmitter 310 includes i) a module 302 which can perform an inverse Fourier transform, ii) a module 303 which can perform digital-to-analog conversion and mixing, iii) a transmitter beamformer 305, and iv) transmitter antennas 221. The receiver 320 includes i) a module 312 which can perform a Fourier transform, ii) a module 313 which can perform analog-to-digital conversion and mixing, iii) a receiver beamformer 315, and iv) receiver antennas 222. The transmitter 310 and receiver 320 can perform beamforming in conjunction with each other. It is appreciated that certain elements of the system 300 may be omitted, or combined with or incorporated into other elements of the system 300. In another embodiment, a certain element may be broken into a plurality of sub-elements. Also, the order of certain elements in the system 300 may change. In addition, certain elements, not shown in FIG. 3, may be added to the system 300. Furthermore, specific features of each element shown in FIG. 3 are merely examples and many other modifications may also be possible.

On the transmitter side, high definition (HD) video data, denoted by the vector s^(ρ), is input into the system 300. In one embodiment, the HD video data is uncompressed. After an inverse Fourier transform (IFFT) in the module 302, as well as digital-to-analog conversion and mixing in the module 303, the modified video data is input into the transmitter beamformer 305. The weights of the transmitter beamformer 305 are denoted by the variables w_(i), for i=1, 2, . . . , N, where N is the number of the transmitter antennas 221. After being weighted by the transmitter beamformer 305, the data is transmitted by the transmitter antennas 221 through the wireless channel 201, where it is received by the receiver antennas 222. The receiver beamformer 315 acts upon the received data to demodulate it. The weights of the receiver beamformer 315 are denoted by the variables ν_(i) for i=1, 2, . . . , M, where M is the number of the receiver antennas 222. After being processed by the receiver beamformer 315, the received data is input through the mixer and analog-to-digital converter 313. Also, a Fourier transform is performed by the module 312 on the data to obtain the final received HD video data 311, denoted by the vector z⁹².

FIG. 4 is an exemplary block diagram illustrating the transmitter and receiver of a wireless HD video communication system according to one embodiment of the invention. A system 400 includes two stations, denoted by STA1 401 and STA2 411, respectively. Each station 401, 411 includes a processor 402, 412 as well as a memory for storage 403, 413. Each of the stations 401, 411 also includes a transceiver structure that further includes a transmitter 404, 414 and a receiver 405, 415 which connect to an antenna or set of antennas 406, 416. The system 400 may perform at least one of procedures 500, 550, 700, 750, and 900 shown in FIGS. 5 a, 5 b, 7 a, 7 b and 9 (described below in greater detail), for iteratively acquiring beamforming vectors.

In one embodiment, at least one of the procedures 500, 550, 700, 750, and 900 is implemented in a conventional programming language, such as C or C++ or another suitable programming language. In one embodiment of the invention, the program is stored on a computer accessible storage medium of the transmitter 401 and/or the receiver 411, for example, such as the memory 403 and/or 413. In another embodiment, the program can be stored in other system locations so long as it can perform at least one of the procedures 500, 550, 700, 750, and 900 according to embodiments of the invention. The storage medium may include any of a variety of technologies for storing information. In one embodiment, the storage medium includes a random access memory (RAM), hard disks, floppy disks, digital video devices, compact discs, video discs, and/or other optical storage mediums, etc.

In another embodiment, the processor 402 and/or 412 can be configured to or programmed to perform at least one of the procedures 500, 550, 700, 750, and 900. The program may be stored in the processor 402 and/or 412 or the memory 403 and/or 413. In various embodiments, the processor 402, 412 may have a configuration based on Intel Corporation's family of microprocessors, such as the Pentium family and Microsoft Corporation's Windows operating systems such as Windows 95/98/2000/XP or Windows NT. In one embodiment, the processor is implemented with a variety of computer platforms using a single chip or multichip microprocessors, digital signal processors, embedded microprocessors, microcontrollers, etc. In another embodiment, the processor is enabled by a wide range of operating systems such as Unix, Linux, Microsoft DOS, Microsoft Windows 2000/9x/ME/XP, Macintosh OS, OS/2 and the like. In another embodiment, at least one of the procedures 500, 550, 700, 750, and 900 can be implemented with embedded software or firmware.

Iteratively Acquiring Beamforming Vectors

One embodiment provides a method of determining the transmit beamforming vector and the receive beamforming vector. FIG. 5 a is an exemplary iterative beamforming acquisition procedure 500 according to one embodiment of the invention. Depending on the embodiments, additional states may be added, others removed, or the order of the states changes in FIG. 5 a. This applies to the remaining schemes shown in FIGS. 5 b, 7 a, 7 b and 8. This procedure 500 involves a transmitter 501 (also referred to as STA1, or source) and a receiver 502 (also referred to as STA2, or destination). The first stage for the transmitter 501 involves entering beamforming acquisition mode to begin beamforming vector acquisition (510).

At this point, since this is the first iteration, the iteration counting variable, n, is set to one. The transmitter initializes the source beamforming vector, w^(ρ) ₁ (511). The initialization may be chosen randomly, or the initial beamforming vector can be an omnidirectional beamforming vector. Other initialization methods may be used. The transmitter 501 spreads a training signal using a spreading sequence of spreading gain S_(n) (512). Let C₁ be a spreading sequence of spreading gain S₁, wherein each element of the spreading sequence is chosen from {1, −1} or from {1, −1, j, −j}. Then, if an element 1 in the training signal is to be transmitted, the whole sequence C₁ is transmitted. If an element −1 in the training signal is to be transmitted, the whole sequence −C₁ is to be transmitted. That is, the opposite of each element of the sequence C₁ is to be transmitted. Similarly, if the element j is to be transmitted, then the sequence jC₁ is to be transmitted. That is, a sequence comprising each element of the sequence C₁ is multiplied by the imaginary variable j. Finally, if the element −j is to be transmitted, then the sequence −jC₁ is to be transmitted. In one embodiment, for a given iteration, each element of the training signal is subjected to the same spreading sequence. In another embodiment, for a given iteration, the training signal transmitted from different antennas may be spread using different spreading sequences.

The transmitter transmits the spread training signal using the current source beamforming vector, w^(ρ) _(n) (514). In the first iteration, the source beamforming vector is the initialized transmit beamforming vector, w^(ρ) ₁. In later iterations, the source beamforming vector may be different. The receiver 502 receives this transmitted signal and based on this received signal computes a destination beamforming vector, ν^(ρ) _(n) (516). In one embodiment, different algorithms can be used to compute the destination beamforming vector. In one embodiment, the receiver spreads a training signal using a spreading sequence of spreading gain Q_(n) (518). In some embodiments, S_(n) and Q_(n) may be different spreading gains. The receiver 502 (STA2) then transmits the spread training signal back to STA1 501 using the calculated destination beamforming vector, ν^(ρ) _(n) (520). At this point in the process, the iteration counting variable, n, is increased by one, i.e., n=n+1. STA1 601 receives the transmitted signal and computes a new source beamforming vector, w^(ρ) _(n) (522). In one embodiment, the transmitter 501 makes a determination as to whether or not the final source beamforming vector is acquired (524). In one embodiment, this determination may involve counting the number of times the source beamforming vector has been recalculated. In another embodiment, this determination may involve comparing the new source beamforming vector to previous source beamforming vectors.

If it is determined that the final source beamforming vector has not been acquired, stages 512, 514, 516, 518 520, 522, and 524 are repeated until it is determined that the final beamforming vectors have been acquired. When it has been determined that the final beamforming vectors have been acquired, the transmitter 501 then enters data transmission mode and begins to transmit HD video data (526). The receiver 502 enters data reception mode and begins to receive high definition video data (528).

FIG. 5 b is a flowchart which shows an exemplary iterative beamforming acquisition procedure 550 according to another embodiment of the invention. The main difference between the embodiments of FIGS. 5 a and 5 b is that the determining whether or not the final beamforming vectors are acquired is performed by the receiver in FIG. 5 b. The first stage of the transmitter 551 is to enter beamforming acquisition mode to begin beamforming vector acquisition (560). The transmitter 551 then initializes the source beamforming vector, w^(ρ) ₁ (561). Then, the transmitter 551 spreads a training signal using a spreading sequence of spreading gain S_(n) (562). The transmitter 551 uses the source beamforming vector to send the spread training signal to the receiver 552 (564). The receiver 552 receives the signal and uses it to compute the destination beamforming vector, ν^(ρ) _(n) (566). It is determined in the receiver 552 whether or not the final source and destination beamforming vectors have been acquired (574). In one embodiment, the determination may include the number of times the source or destination beamforming vector has been computed. In another embodiment, the determination may include a comparison between the current source or destination beamforming vector and previous beamforming vectors. In another embodiment, the determination may involve setting a threshold for the signal-to-noise level and determining whether the current beamforming vectors would provide a signal-to-noise level above the threshold. If the source and destination beamforming vectors are not acquired, the receiver/STA2 552 spreads a training signal using a spreading sequence of spreading gain Q_(n) (568) and transmits back to the transmitter/STA1 551 using the computed destination beamforming vector, ν^(ρ) _(n) (570). STA1 551 then receives this signal and computes a new source beamforming vector, w^(ρ) _(n) (572). Stages 562, 564, and 566 are then repeated. A determination of whether or not the final source beamforming vector has been acquired is again performed (574), resulting in either a repetition of stages 568, 570, 572, 562, 564, and 566 or progressing to stages 576 and 578. Upon acquiring the final source beamforming vector, the transmitter 551 enters data transmission mode and begins to transmit HD video data (576). The receiver 552 enters data reception mode and begins to receive HD video data (578).

It can be noticed that acquisition of the source beamforming vector and the destination beamforming vector can take a few signal exchanges, and possibly take a long time. This may be unacceptable overhead if such a procedure is needed for each and every data packet. One embodiment uses such a procedure for each and every data packet. Alternatively, if the wireless channel is not changing, the procedure would not be needed for every packet.

In one embodiment of the invention, the spreading sequence C_(n) is the same for each iteration. In this embodiment, the spreading gain of C_(n), i.e., S_(n), is the same from iteration to iteration. FIG. 6 is a diagram demonstrating the typical convergence behavior of signal-to-noise ratio as a function of iteration in an iterative beamforming acquisition procedure. The axis of abscissas 610 of FIG. 6 shows the index of iterations (n), and the axis of ordinates 620 shows the achieved signal-to-noise ratio (SNR) enabled by the beamforming vectors of the nth iteration in linear scale. It may be noted that the achieved SNR saturates quickly as iteration progresses, corroborating the effectiveness of the iterative acquisition protocol. One method to take advantage of this fact is to apply a strong spreading gain (corresponding to a long spreading sequence) during the first stage to compensate for the relatively low SNR in the initial stage. As iteration progresses, one may use a relatively smaller spreading gain for later stages, as the beamforming vectors are more and more effective in themselves bridging the wireless link between the transmitter and receiver.

One embodiment of the invention is an iterative training protocol with an adaptive spreading scheme. During the n stages of the entire iteration protocol, each stage may employ a different spreading gain. In some embodiments, the first stage employs the largest spreading gain with the longest spreading sequence, while later stages employ a smaller spreading gain with shorter spreading sequences.

FIG. 7 a is a flowchart which shows an exemplary iterative beamforming acquisition procedure 700 from the point-of-view of a source of data. In the procedure 700, the eventual source of data obtains a source beamforming vector (710). This source beamforming vector is used to perform beamforming to modulate a training signal having a spreading gain of S_(n) (712). After modulation, the modulated training signal is transmitted (714) to the eventual destination of data. A response signal, which may comprise a modulated training signal having a spreading gain of Q_(n), is received (716) from, for example, the eventual destination of data. In other embodiments, a response signal is received (716) from a device which is not the eventual destination of data, for example, an antenna controlling device separated from the eventual destination of data. Once the response signal is received (716), a determination is made (720) whether or not to use the current source beamforming vector to transmit data. This determination may be done in a number of ways. For example, it may be determined to use the source beamforming vector if the number of iterations meets or exceeds some threshold. It may be determined to use the source beamforming vector if the current source beamforming vector is similar to a previously obtained source beamforming vector, indicating convergence of the iterative process. The determination may also be done by analyzing the response signal. If it is determined to use the source beamforming vector, the next stage of the process is to modulate data using the source beamforming vector and transmit the modulated data (722). If it is determined that the source beamforming vector should not be used, the process repeats by returning to stage 710 and obtaining a new source beamforming vector.

FIG. 7 b is a flowchart which shows an exemplary iterative beamforming acquisition procedure 750 from the point-of-view of a destination of data. In the procedure 750, the eventual destination of data receives a modulated training signal (760). In some embodiments, the modulated training signal is received from the eventual source of data. Based on the training signal, the eventual destination of data obtains or updates a destination beamforming vector (762). The destination beamforming vector may be obtained in a number of ways. For example, the destination beamforming vector may be calculated using maximal ratio combining. In another embodiment, the destination beamforming vector can be selected from a finite set of candidate beamforming vectors. With the destination beamforming vector, a response signal, which may comprise a training sequence having a spreading gain of Q_(n), is modulated (764). In some embodiments, the response signal bears resemblance to the training signals transmitted by the eventual source of data. The response signal is transmitted (766) and it is determined whether to use the destination beamforming vector to receive data (770). As described above in reference to the transmitter, the determining may be performed in a number of ways. If it is determined to use the destination beamforming vector, the next stage of the process is to demodulate received data using the destination beamforming vector (772). If it is determined that the destination beamforming vector should not be used, the process repeats by returning to stage 770 and receiving a modulated training signal.

The calculation of S_(n) for use in spreading the training sequence for each iteration may be done in a number of ways. In some embodiments, the number is pre-programmed within the transmitter and/or receiver. In another embodiment, after each iteration, the receiver may feedback to the transmitter an estimate of the overall SNR improvement relative to the previous stage, which may be denoted by K. This value, K, would be the maximum possible spreading gain deduction ratio. That is, the spreading gain of the spreading sequence of the next iteration may be proportional or inversely proportional to K. This feedback may be transmitted on top of any other feedback, if any.

For example, in an iterative beamforming acquisition process with four iterations, there may be a three-fold gain in SNR on the second iteration relative to the first iteration. In the embodiment in which the spreading gain is fixed, the four iterations would require time and power on the order of four times the spreading gain of the initial spreading sequence, i.e. 4 S₁. In the embodiment in which the spreading gain is variable, due to the three-fold gain in SNR, the spreading gain of the second, third, and fourth iterations would be one-third the spreading gain of the initial spreading sequence (or less). Thus, the time and power consumed would be on the order of two times the spreading gain of the initial spreading sequence, i.e. 2 S₁, achieving about 50% savings in time and power without sacrificing the acquisition performance. Furthermore, at least one embodiment can significantly improve the efficiency of the existing training protocols.

This technology can be applied to most iterative antenna training protocol and can safely coexist with most other technologies.

Discrete Matrix Element Antenna Training

In another embodiment of the invention, the antenna type (phased array, switched antenna, or single antenna) and number of antennas may be exchanged between the transmitter and receiver in advance such that the beamforming acquisition algorithm can be conducted based on both antenna type and number of antennas.

To illustrate, let STA1 be a station with a phased array having N antennas and let STA2 have a sectored antenna. An embodiment described herein discloses the training of the N antenna of STA1. During the training of the antenna of STA1, in one embodiment, the direction of the antenna of STA2 should stay the same. For example, a sector antenna may remain pointed in the same direction, a switched antenna may use the same candidate beamforming vector, or a fully adaptive antenna array may keep the weights of each antenna fixed.

In such an embodiment, the signals transmitted from the STA1 antennas during the training have an effect on the resultant beamforming vectors and the performance of the beamforming vectors on signal-to-noise ratio. The training patterns can be realized as a matrix P having N rows and t columns, where N is number of STA1 antennas and t is the number of time slots to complete the training of the STA1 antennas. It can be shown that the minimum t required to train N antenna is, in fact, N. In other words, in order to train N antennas on the STA1 side, a minimum of N time slots are needed. In one embodiment, N time slots are chosen so that no overhead is involved in performing the training. Thus, the training matrix is a square matrix. In some embodiments, this square matrix is an orthogonal or unitary matrix. For example, the training matrix may be a Fourier matrix.

In analog beamforming, the phaser on each antenna element typically has a finite alphabet. For example, each antenna may only be capable of phasing the transmitted value at angles of 0 and pi. As another example, each antenna may only be capable of phasing the transmitted values at four values, such as 0, pi/2, pi, and 3*pi/2. Using a Fourier matrix as the training pattern may violate a finite alphabet condition for some values of N.

In some embodiments, the training matrix is a Hadamard matrix, which is a square orthogonal matrix with binary values +1 and −1, corresponding to phase values of 0 and pi. Such an embodiment would be well-suited to an analog phaser having an alphabet with two elements. Hadamard matrices having N rows and N columns exist only when N is a multiple of four. Thus, for an arbitrary N, as may be the case in practice, it is sometimes impossible to find a Hadamard matrix having N rows and N columns. In one embodiment of the invention, a Hadamard matrix having M rows and M columns, where M the smallest multiple of four not less than N is created. This Hadamard matrix is abridged by selecting N rows to create a training pattern of M symbols for each of the N antennas of STA1. This incurs an overhead of M-N, which is one of 0, 1, 2, or 3 symbols.

In other embodiments, the training matrix is a Butson-type complex Hadamard matrix, or Butson matrix, which is a square unitary matrix with four values, typically +1, −1, +j, and −j, corresponding to phase values of 0, pi, pi/2, and 3*pi/2. Such an embodiment would be well-suited to an analog phaser having an alphabet with four elements. Butson matrices having N rows and N columns exist only when N is a multiple of two. Thus, for an arbitrary N, as may be the case in practice, it is sometimes very difficult to find a Butson matrix having N rows and N columns. In one embodiment of the invention, a Butson matrix having M rows and M columns, where M is the smallest even number not less than N is created. This Butson matrix is abridged by selecting N rows to create a training pattern of M symbols for each of the N antennas of STA1. This incurs an overhead of M-N, which is either 0 or 1 symbols. FIG. 8 is a collection of exemplary matrices, where 2/pi*log(B) is displayed element by element, where B is a Butson matrix whose elements take the values +1, −1, +j, and −j.

FIG. 9 shows a procedure 900 of obtaining a training matrix. The first stage of the procedure is to determine the number of antennas (N) of STA1 (902). STA1 may be, for example, a source of data such as uncompressed high definition video data. Using N, the number M is determined, where M is the smallest number not less than N that satisfies a given constraint (904). In one embodiment, that constraint may be that the next stages are capable of being performed using M. For example, if the training matrix is to be based on a Hadamard matrix, M is selected as a multiple of four. As another example, if the training matrix is to be based on a Butson matrix, M is selected as an even number. A unitary matrix having M rows and M columns is then constructed (906). The unitary matrix is used to create a training matrix have N rows and M columns (908). The N rows may be selected as the first N rows of the unitary matrix, the last N rows of the unitary matrix, a random or arbitrary selection of N rows of the unitary matrix, or the N rows may be selected to maximize a performance metric. For example, the N rows may be selected such that the M columns of the resulting training matrix are maximally uncorrelated. A computer search algorithm may be used in the selection of the N rows. At least one embodiment can minimize the overhead due to finite alphabet training.

While the above description has pointed out novel features of the invention as applied to various embodiments, the skilled person will understand that various omissions, substitutions, and changes in the form and details of the device or process illustrated may be made without departing from the scope of the invention. For example, although embodiments of the invention have been described with reference to uncompressed video data, those embodiments can be applied to compressed video data as well. Embodiments of the invention can also be applied to non-video data. Therefore, the scope of the invention is defined by the appended claims rather than by the foregoing description. All variations coming within the meaning and range of equivalency of the claims are embraced within their scope. 

1. A method of obtaining a training matrix for a beamforming acquisition protocol, the method comprising: determining the number (N) of transmitter antennas; obtaining a unitary matrix having M rows and M columns, wherein M is an even number and is greater than N, and wherein the elements of the matrix comprise both real and imaginary components; selecting N rows of the unitary matrix; and
 2. generating a training matrix having N rows and M columns based on the selected N rows. The method of claim 1, wherein each column of the unitary matrix is orthogonal to other columns of the unitary matrix, and each row of the unitary matrix is orthogonal to other rows of the unitary matrix.
 3. A system for obtaining a training matrix for a beamforming acquisition protocol, the system comprising: at least one transceiver; a memory; and a processor, being in data or signal communication with the at least one transceiver and the memory, configured to: i) determine the number (N) of transmitter antennas; ii) obtain a unitary matrix having M rows and M columns, wherein M is an even number and is greater than or equal to N, and wherein the elements of the matrix comprise both real and imaginary components; iii) select N rows of the unitary matrix; and iv) generate a training matrix having N rows and M columns based on the selected N rows.
 4. A method of obtaining a training matrix for a beamforming acquisition protocol, the method comprising: determining the number (N) of transmitter antennas; obtaining a unitary matrix having M rows and M columns, wherein M is greater than or equal to N, and wherein the elements of the matrix are selected from the group consisting of: +1, −1, +j, and −j; selecting N rows of the unitary matrix; and generating a training matrix having N rows and M columns based on the selected N rows.
 5. The method of claim 4, wherein each column of the unitary matrix is orthogonal to other columns of the unitary matrix, and each row of the unitary matrix is orthogonal to other rows of the unitary matrix.
 6. The method of claim 4, wherein obtaining the unitary matrix comprises retrieving the matrix from a memory.
 7. The method of claim 4, wherein M is the least even number that is greater than or equal to N.
 8. The method of claim 4, wherein M is the least multiple of four that is greater than or equal to N.
 9. The method of claim 4, wherein M is not a multiple of four.
 10. The method of claim 4, wherein the selected N rows are the first N rows of the unitary matrix.
 11. The method of claim 4, wherein the selecting comprises using a computer search algorithm.
 12. The method of claim 4, wherein the N rows of the unitary matrix are selected to minimize the maximum correlation between any two columns of a matrix formed from the selected rows.
 13. The method of claim 4, further comprising obtaining a source beamforming vector using the training matrix.
 14. The method of claim 13, wherein obtaining a source beamforming vector comprises transmitting M symbols in M time slots from each of the N transmitter antennas to a receiver station, and wherein each of the M symbols for a given transmitter antenna is the element of the training matrix at a row corresponding to the given transmitter antenna.
 15. The method of claim 13, further comprising: modulating a data signal with the source beamforming vector; and transmitting the modulated data signal.
 16. The method of claim 15, wherein the data signal is a high definition video data signal.
 17. The method of claim 16, wherein the high definition video data is uncompressed.
 18. A system for obtaining a training matrix for a beamforming acquisition protocol, the system comprising: at least one transceiver; a memory; and a processor, being in data or signal communication with the at least one transceiver and the memory, configured to: i) determine the number (N) of transmitter antennas; ii) obtain a unitary matrix having M rows and M columns, wherein M is greater than or equal to N, and wherein the elements of the matrix are selected from the group consisting of: +1, −1, +j, and −j; iii) select N rows of the unitary matrix; and iv) generate a training matrix having N rows and M columns based on the selected N rows.
 19. The system of claim 18, wherein each column of the unitary matrix is orthogonal to other columns of the unitary matrix, and each row of the unitary matrix is orthogonal to other rows of the unitary matrix.
 20. The system of claim 18, wherein the memory is configured to store the unitary matrix.
 21. The system of claim 18, wherein the processor is further configured to obtain a source beamforming vector using the training matrix and the at least one transceiver.
 22. The system of claim 21, wherein the processor is further configured to transmit M symbols in M time slots from each of N transmitter antennas to a receiver station, and wherein each of the M symbols for a given transmitter antenna corresponds to the values in the training matrix at a given row.
 23. The system of claim 18, wherein at least one of the memory and the processor is contained within the transceiver.
 24. A system for obtaining a training matrix for a beamforming acquisition protocol, the system comprising: means for determining the number (N) of transmitter antennas; means for obtaining a unitary matrix having M rows and M columns, wherein M is greater than or equal to N, and wherein the elements of the matrix are selected from the group consisting of: +1, −1, +j, and −j; means for selecting N rows of the unitary matrix; and means for generating a training matrix having N rows and M columns based on the selected N rows.
 25. The system of claim 24, wherein M is the least even number that is greater than or equal to N.
 26. The system of claim 24, further comprising means for obtaining a source beamforming vector using the training matrix.
 27. One or more processor-readable storage devices having processor-readable code, the processor-readable code for programming one or more processors to perform a method of obtaining a training matrix for a beamforming acquisition protocol, the method comprising: determining the number (N) of transmitter antennas; obtaining a unitary matrix having M rows and M columns, wherein M is greater than or equal to N, and wherein the elements of the matrix are selected from the group consisting of: +1, −1, +j, and −j; selecting N rows of the unitary matrix; and generating a training matrix having N rows and M columns based on the selected N rows.
 28. A method of obtaining a training matrix for a beamforming acquisition protocol, the method comprising generating a training matrix based on at least a portion of a unitary matrix, wherein the elements of the unitary matrix are selected from the group consisting of: +1, −1, +j, and −j.
 29. The method of claim 28, further comprising obtaining a source beamforming vector using the training matrix. 